runtime.schedt.npidle (field)
15 uses
runtime (current package)
mgcpacer.go#L716: if sched.npidle.Load() != 0 && sched.nmspinning.Load() == 0 {
proc.go#L409: if !gp.preempt && sched.npidle.Load() > 0 {
proc.go#L3157: if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
proc.go#L3187: if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
proc.go#L3505: if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
proc.go#L4086: npidle := sched.npidle.Load()
proc.go#L6266: if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
proc.go#L6268: if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
proc.go#L6437: if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
proc.go#L6531: print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runq.size)
proc.go#L6799: for ; n != 0 && sched.npidle.Load() != 0; n-- {
proc.go#L6968: sched.npidle.Add(1)
proc.go#L6994: sched.npidle.Add(-1)
proc.go#L7511: if i >= active_spin || numCPUStartup <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
runtime2.go#L791: npidle atomic.Int32